<?php
/**
 * Created by CommonController.class.php.
 * User: tqj
 * Date: 2017-06-02
 * Time: 10:53
 */

namespace Admin\Controller;
use \Think\Controller;

class CommonController extends Controller
{
    public function _initialize()
    {
        $id = session('user_id');
        if(empty($id)) {
            $url = U('Public/login');
            echo "<script>top.location.href='$url'</script>";
            exit;
        }

        //RBAC
        $role_id = session('user_role_id');
        //读取配置文件权限
        $rbac_role_auths = C('RABC_ROLE_AUTHS');
        $currRoleAuth = $rbac_role_auths[$role_id];
        //通过常量来获取当前路由中的控制器名和方法名。
        $controller = strtolower(CONTROLLER_NAME);
        $action = strtolower(ACTION);
        //   dump($currRoleAuth);die;
        //判断组成的权限形式是否在配置文件权限中。
        if($role_id > 1) {
            //当前用户不是管理员。
            if(!in_array($controller . '/' . $action, $currRoleAuth) && !in_array($controller . '/*', $currRoleAuth)) {
                $this->error('没有权限');
                exit;
            }
        }

    }
}